# -*- coding: utf-8 -*-
import logging

# 全局的一个默认的logger. logger包内共享, 为的是在slippage.py这些地方也能够打log.
# 通过backtest提供的函数也可以设置logger, 让logger提供打印到文件的功能
def default_logger():
    logger = logging.getLogger(__name__)
    logger.setLevel(logging.INFO)
    formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')

    stream_handler = logging.StreamHandler()
    stream_handler.setLevel(logging.INFO)
    stream_handler.setFormatter(formatter)
    logger.addHandler(stream_handler)

    return logger

# 并没有什么好方法共享包内全局变量
logger = default_logger()

def get_logger():
    return logger

def set_logger(new_logger):
    global logger
    logger = new_logger

